// var config = require("../../../config/config.js");
import config from '../../../config/config.js';
Page({
  data: {
    userList: [], // 用户列表
    selectedUserIndex: 0,
    violationTypes: [{name:'离职未提前通知',type:1}, {name:'一般违规',type:2}], // 违规类型
    selectedTypeIndex: 0,
    content: '',
    imageUrl:'',
    isSubmitting:false
  },

  onLoad: function() {
    this.fetchUserList();
  },

  // 获取用户列表
  fetchUserList: function() {
    const that = this;
    global.$api.post({
      url: 'api/userInfo/listNoPage',
      data: {
      }
    }).then(res => {
      console.log(res.data);
           that.setData({
            userList: res.data
          });
    })
  },

  // 用户选择变化
  onUserChange: function(e) {
    this.setData({
      selectedUserIndex: e.detail.value
    });
  },

  // 违规类型变化
  onTypeChange: function(e) {
    this.setData({
      selectedTypeIndex: e.detail.value
    });
  },

  // 内容输入
  onContentInput: function(e) {
    this.setData({
      content: e.detail.value
    });
  },

  // 选择图片
   // 选择并上传单张图片
   chooseSingleImage: function() {
    const that = this;
    wx.chooseMedia({
      count: 1, // 限制仅选择1张
      mediaType: ['image'],
      sourceType: ['album', 'camera'],
      success: function(res) {
        const tempFilePath = res.tempFiles[0].tempFilePath;
        // 立即上传
       that.uploadToAliyun(tempFilePath);
      },
      fail: (err) => {
        console.error('选择失败:', err);
        // 如果出现权限错误，提示用户去小程序后台配置
        if (err.errMsg.includes('scope')) {
          wx.showModal({
            title: '权限提示',
            content: '请在小程序后台隐私保护指引中配置相应权限',
            showCancel: false
          });
        }
      }
    });
  },
  // 上传到阿里云OSS后端
  uploadToAliyun: function(filePath) {
    const that = this;
    console.log("获取到ip地址 :"+config.baseUrl)
    wx.uploadFile({
      url: config.baseUrl + 'api/aliyun/uploadAliyun', // 替换为您的实际域名
      filePath: filePath,
      name: 'file', // 必须与@RequestPart("file")参数名一致
      formData: {
        'user': 'test' // 可添加其他表单参数
      },
      success: (res) => {
        const result = JSON.parse(res.data);
        if (result.code === 0) {
          wx.showToast({
            title: '上传成功',
            icon: 'success'
          });
          console.log('图片URL:', result.data);
          that.setData({
            imageUrl: result.data
          });
        } else {
          wx.showToast({
            title: '上传失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        wx.showToast({
          title: '网络错误',
          icon: 'none'
        });
        console.error('上传失败:', err);
      }
    });
  },


 // 删除已选图片
 removeImage: function() {
  this.setData({ imageUrl: '' });
},

  // 处理提交
  handleSubmit: function(e) {
    const { userList, violationTypes, selectedUserIndex, selectedTypeIndex, content, imageUrl } 
    = this.data;
    // 表单验证
    // if (selectedUserIndex === 0) {
    //   wx.showToast({
    //     title: '请选择用户',
    //     icon: 'none'
    //   });
    //   return;
    // }

    // if (selectedTypeIndex === 0) {
    //   wx.showToast({
    //     title: '请选择违规类型',
    //     icon: 'none'
    //   });
    //   return;
    // }

    if (!content.trim()) {
      wx.showToast({
        title: '请输入违规内容',
        icon: 'none'
      });
      return;
    }
    // 置成不能提交状态
    this.setData({
      isSubmitting: true
    });
    // 构建提交数据
    const submitData = {
      userId: userList[selectedUserIndex].id,
      type: violationTypes[selectedTypeIndex].type,
      content: content,
      images: imageUrl
    };
    // 调用提交接口
    global.$api.post({
      url: 'api/userInfo/addAppUserViolation',
      data: submitData
    }).then(res => {
      console.log(res)
      if(res.code == 200){
        wx.showToast({
          title: '提交成功！',
          icon: 'none'
        })
        setTimeout(() => {
          wx.navigateBack({
            delta: 1,
          })
        }, 800)
      }else{
        wx.showToast({
          title: res.message,
          icon: 'none'
        })
        this.setData({
          isSubmitting: false
        });
      }
  
    })
  },

});
